package org.lestr.secuel.m3ds.lumieres;

import java.util.Collection;

import org.lestr.secuel.m3ds.Variable;


public interface Lumiere {

	
	/** Défini le nom de la lumière */
	public void setNom(String nom);
	
	
	/** Retourne le nom de la lumière */
	public String getNom();
	
	
	/** Défini les variables de la lumière */
	public void setVariables(Collection<Variable> variables);
	
	
	/** Retourne les variables de la lumière */
	public Collection<Variable> getVariables();

	
	/** Ajoute un écouteur */
	public void ajoutEcouteur(LumiereEcouteur écouteur);
	
	
	/** Retire un écouteur */
	public void retraitEcouteur(LumiereEcouteur écouteur);

	
	/** Allume ou éteint la lumière */
	public void setAllumée(boolean allumée);
	
	
	/** Retourne vrai si la lumière est allumée */
	public boolean isAllumée();
	
	
	/** Défini la couleur de la lumière */
	public void setCouleur(int rouge, int vert, int bleu);
	
	
	/** Retourne la composante rouge de la couleur */
	public int getRouge();
	
	
	/** Retourne la composante verte de la couleur */
	public int getVert();
	
	
	/** Retourne la composante bleue de la couleur */
	public int getBleu();
	
	
	/** Défini l'intensitée de la lumière en pourcents */
	public void setIntensité(int intensité);
	
	
	/** Retourne l'intensité de la lumière en pourcents */
	public int getIntensité();
	
	
	/** Défini la position X de la lumière */
	public void setX(double x);
	
	
	/** Retourne la position X de la lumière */
	public double getX();
	
	
	/** Défini la position Y de la lumière */
	public void setY(double y);
	
	
	/** Retourne la position Y de la lumière */
	public double getY();
	
	
	/** Défini la position Z de la lumière */
	public void setZ(double z);
	
	
	/** Retourne la position Z de la lumière */
	public double getZ();
	
	
}// FIN Interface
